package cnsukidayo.com.gitee.service;

import cnsukidayo.com.gitee.model.params.*;
import cnsukidayo.com.gitee.model.pojo.UserContract;

import javax.servlet.http.HttpServletResponse;
import java.util.Optional;

/**
 * @author sukidayo
 * @date 2023/3/18 14:25
 */
public interface UserService {

    void login(LoginParam loginParam, HttpServletResponse httpServletResponse);

    UserContract getUserInfo(String token);

    Optional<Integer> queryUserIDByToken(String token);

    void adoptPet(String token, AdoptPetParam adoptPetParam);

    // ContentApi
    void createUser(CreateUserParam createUserParam);

    void donatePetShelter(DonatePetParam donatePetParam);

    void exchangePoints(String token, ExchangePointsParam exchangePointsParam);

    void participateEvent(String token, ParticipateEventParam participateEventParam);

    Integer count();
}
